rebased cmake updates (#147)
authorSteven G. Johnson <stevenj@mit.edu>
Sat, 30 Mar 2019 17:37:34 +0000 (13:37 -0400)
committerGitHub <noreply@github.com>
Sat, 30 Mar 2019 17:37:34 +0000 (13:37 -0400)
* Use a target property instead of CMAKE_C_FLAGS

It is a global property, which is not great when importing utf8proc in other CMake projects.

* Use target properties instead of add_definitions

It modifies builds settings globally, which is not great when using
the library as part of a bigger CMake build

* Expose header search path with target_include_directories

This makes it possible to use utf8proc in a larger CMake based project
with

add_subdirectory(utf8proc)
target_link_libraries(my_app utf8proc)

* more rebase fixes

CMakeLists.txt

index e0d3f3f0b25412f1c114bfff1251bbf225edfe27..d2af3761847244e80ea2bec68f81652bd5df2a8d 100644 (file)
@@ -13,15 +13,14 @@ set(SO_MAJOR 2)
 set(SO_MINOR 2)
 set(SO_PATCH 0)
 
-if (NOT MSVC)
-  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -std=c99 -pedantic -Wall")
-endif ()
-
 add_library (utf8proc
   utf8proc.c
   utf8proc.h
 )
 
+# expose header path, for when this is part of a larger cmake project
+target_include_directories(utf8proc PUBLIC ../utf8proc)
+
 if (BUILD_SHARED_LIBS)
   # Building shared library
 else()
@@ -34,6 +33,13 @@ endif()
 
 target_compile_definitions(utf8proc PRIVATE "UTF8PROC_EXPORTS")
 
+if (NOT MSVC)
+  set_target_properties(
+    utf8proc PROPERTIES
+    COMPILE_FLAGS "-O2 -std=c99 -pedantic -Wall"
+  )
+endif ()
+
 set_target_properties (utf8proc PROPERTIES
   POSITION_INDEPENDENT_CODE ON
   VERSION "${SO_MAJOR}.${SO_MINOR}.${SO_PATCH}"